package com.itheima.job;

import com.itheima.constant.RedisConst;
import com.itheima.utils.QiniuUtils;
import org.springframework.beans.factory.annotation.Autowired;
import redis.clients.jedis.JedisPool;

import java.util.Set;

/**
 * @author ：daqiang
 * @date ：Created in 2019/11/21
 * @description ：
 * @version: 1.0
 */

public class ClearImgJob {

    @Autowired
    JedisPool jedisPool;

    /**
     * 步骤：
     *      1. 获取垃圾图片的名称
     *      2. 遍历名称数组
     *          删除七牛云上的垃圾图片
     *          删除redis中的垃圾图片名称
     *
     */

    public void clear(){
        //1. 获取垃圾图片的名称
        Set<String> imgNames = jedisPool.getResource().sdiff(RedisConst.SETMEAL_PIC_RESOURCES, RedisConst.SETMEAL_PIC_DB_RESOURCES);
        //2. 遍历名称数组
        for (String imgName : imgNames) {
            //删除七牛云上的垃圾图片
            QiniuUtils.deleteFileFromQiniu(imgName);
            //删除redis中的垃圾图片名称
            jedisPool.getResource().srem(RedisConst.SETMEAL_PIC_RESOURCES,imgName);

            System.out.println("================= = " + imgName);
        }
    }
}
